package com.atguigu.gulimall.user.controller;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gulimall.user.service.UserInfoService;
import com.atguigu.gulimall.user.vo.UserLoginSuccessVo;
import com.atguigu.gulimall.user.vo.UserLoginVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @author nicc
 * @version 1.0
 * @className UserLoginController
 * @date 2022-10-16 20:54
 */
@RestController
@RequestMapping("/api/user")
public class UserLoginController {

    @Autowired
    private UserInfoService userInfoService;

    @PostMapping("/passport/login")
    public Result login(@RequestBody UserLoginVo vo){

        UserLoginSuccessVo successVo = userInfoService.login(vo);

        //并不能这么做事
        //远程调用合并购物车
        //自动签到送积分
        //自动下发当日优惠券
        //............

        return Result.ok(successVo);
    }

    /**
     * 用户退出
     * token：
     * 1)、页面（非ajax）：在请求头的 Cookie: token=ffa7f022541449a1bd7c43ebda46b698
     *      取： @CookieValue("token") String cookieToken
     * 2)、ajax：   在请求头的 token: ffa7f022541449a1bd7c43ebda46b698
     *      取： @RequestHeader("token") String token
     * @return
     */
    @GetMapping("/passport/logout")
    public Result logout(@RequestHeader("token") String token){

        //只要退出成功，前端自己删掉cookie；后台也要自己删除这个用户
        userInfoService.logout(token);
        return Result.ok();
    }
}
